import ajax from '@/uni_modules/u-ajax'
 import $api from '@/uni_modules/js/util.js'
import {
	API_URL,
	IMG_URL
} from '@/env.js'


// 创建请求实例
var instance = ajax.create({
	// 默认配置
	baseURL: API_URL,
	timeout: 1000*60,
})

// 添加请求拦截器
instance.interceptors.request.use(
	config => {
		// 在发送请求前做些什么
		config.header.token = uni.getStorageSync('token') ? uni.getStorageSync('token') : ''
		// console.log('发送请求前', config)
		return config
	},
	error => {
		// 对请求错误做些什么
		console.log('发请求错误', error)
		return Promise.reject(error)
	}
)

//登录弹窗次数
let loginPopupNum = 0;


// 添加响应拦截器
instance.interceptors.response.use(
	response => {
		// 对响应数据做些什么
		// console.log('响应成功后', response)
		return response.data
	},
	error => {
		// 对响应错误做些什么
		console.log('响应错误后', error)
		if (error.statusCode == 401) {
			if (loginPopupNum <= 0) {
				uni.removeStorageSync('token')
				loginPopupNum++;
				uni.showModal({
					title: '登录提示',
					content: '此时此刻需要您登录喔~',
					confirmText: "去登录",
					cancelText: "再逛会",
					success: function(res) {
						loginPopupNum--;
						if (res.confirm) {
							uni.navigateTo({
								url:"/pages/public/login"
							});
						}
					}
				});
			}
		
		} else if (error.data.code == 0) {
			// if (!error.config.noMsg) {
			// 	$api.msg(error.data.msg)
			// }
		} else {
			if (!error.config.noMsg) {
				$api.msg(error.data.msg)
			}
		}
		return Promise.reject(error)
	}
)

export default instance